I. Field of the Invention
The present invention generally relates to communication systems and, in particular, to systems and methods for classifying packets.
II. Background and Material Information
Communication devices, such as routers, firewalls, switches, and the like, must frequently classify a packet based on its address to determine what (if any) additional processing steps should be performed. Based on a packet source Internet Protocol (IP) address, a communication device may read the packet, search for a rule corresponding to the source IP address, and then classify the packet with the identified rule to facilitate further processing. The rule may simply state a function (or operation) to be performed on the packet based on its address. For example, a packet from source IP address “X” may be associated with a rule that requires that the packet be discarded, while another rule may state that a packet from source IP address “A-Z” should be encrypted and then forwarded to its destination. As such, the rules enable communication devices to process incoming packets specifically based on their address information.
Although such rule-based processing, enhances the ability of a communication device to process packets, such rule-based processing introduces delays. For example, if a communication device requires 250 milliseconds to read a packet and its corresponding address information, search for a rule based on the packet's address, and then apply the identified rule, the packet will undergo 250 milliseconds of delay. With some types of traffic, such as voice, a 250-millisecond delay may cause an echo. Moreover, long delays also require additional memory in the communication device to buffer any incoming packets received during the delay period. As such, high-speed packet classification consistent with the present invention may improve the quality of data and reduce cost associated with additional buffer memory.